﻿/*
 * Tiếp nhận địa ốc mới , chỉ tiếp nhận chưa đăng kí
 *  not done
 *  remove DA
 */ 
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using System.Data;
using DTO;
using BLL;
using DA;
using DevComponents.DotNetBar;
namespace GUI.View
{
    public partial class TiepNhanDiaOcControl : UserControl
    {
        #region Khai báo biến
        private readonly DiaOcBLL diaocBLL;
        private readonly LoaiDiaOcBLL loaiDiaOcBLL;
        private readonly PhieuDangKyBLL phieudangkyBLL;
        private readonly KhachHangBLL khachhangBLL;
        public string _MaKH;

        //kiem tra checkbox
        private int _testgiayphepXD = 0;
        private int _testgiayphepHC = 0;
        private int _testgiayCNQSDDat = 0;
        private int _testgiayCNSHNha = 0;
        private int _testhopdongmuaban = 0;

        #endregion

        private AppCommands _Commands;
        public AppCommands Commands
        {
            get { return _Commands; }
            set
            {
                if (value != _Commands)
                {
                    AppCommands oldValue = _Commands;
                    _Commands = value;
                    OnCommandsChanged(oldValue, value);
                }
            }
        }
        protected virtual void OnCommandsChanged(AppCommands oldValue, AppCommands newValue)
        {
            if (newValue != null)
            {
                btnCancel.Command = newValue.ListTiepNhanDiaOcCommands.Cancel;
            }
            else
            {
                btnCancel.Command = null;
            }
        }

        public TiepNhanDiaOcControl()
        {
            InitializeComponent();

            diaocBLL = new DiaOcBLL();
            loaiDiaOcBLL = new LoaiDiaOcBLL();
            phieudangkyBLL = new PhieuDangKyBLL();
            khachhangBLL = new KhachHangBLL();
            //dataGridDsDiaOc.BackgroundColor = SystemColors.ButtonHighlight;
        }

        private void TiepNhanDiaOcControl_Load(object sender, EventArgs e)
        {
            txtMaDiaOc.Text = diaocBLL.MaDiaOcTN().ToString();
            //loaddulieuKhachHangTheoNgay();

            loadcbbtenKH();
            LoaiDiaOc();
        }

        #region Kiểm tra điều kiện nhập
        private void txtGiaBan_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void txtDienTichXayDung_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void txtDienTichDat_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }
        #endregion

        #region load data 
        // TODO Tống xuống BLL
        // không cần thiết vì mã địa ốc được sinh tự động
        //public int MaDiaOcTN()
        //{
        //    const string _getMadiaoc = "select MAX(MaDiaOc) from DIAOC";
        //    int _madiaoc = myQueryDA.getId(_getMadiaoc) + 1;
        //    return _madiaoc;
        //}

        // load loại địa ốc vào cbb
        public void LoaiDiaOc()
        {
            cbbLoaiDiaOc.DataSource = loaiDiaOcBLL.GetAll().Tables[0];
            cbbLoaiDiaOc.DisplayMember = "TenLoaiDiaOc";
            cbbLoaiDiaOc.ValueMember = "MaLoaiDiaOc";
        }
        // load tên khách hàng vào cbb
        public void loadcbbtenKH()
        {
            cbbTenKH.DataSource = new KhachHangBLL().GetAll().Tables[0];
            cbbTenKH.DisplayMember = "HoTen";
            cbbTenKH.ValueMember = "MaKH";
            cbbTenKH.SelectedItem = null;
        }
        // load danh sách địa ốc vào datagrid 
        public void loadDSDiaOc(string makh)
        {
            if (makh == "")
            {
                btnAddDiaOc.Enabled = false;
                btnEditDiaOc.Enabled = false;
                btnDeleteDiaOc.Enabled = false;
            }
            else
            {
                loaddulieuKhachHangDiaOcKhiClickDTG(txtMaKhachHang.Text);
                btnAddDiaOc.Enabled = true;
                btnEditDiaOc.Enabled = false;
                btnRefreshDiaOc.Enabled = true;
                btnDeleteDiaOc.Enabled = false;
            }
        }

        #endregion

        #region Hàm load dữ liệu
        //DELETE không sử dụng thì xóa đi

        //public void loaddulieuKhachHangTheoNgay()
        //{
        //    throw new NotImplementedException();
        //    /*
        //    string queryKH = String.Format("select MaKH,HoTen,SoDT,Email,DiaChi from KHACHHANG where NgayDangKy='{0}'", _ngaydangky);
        //    if (myQueryDA.doQuery(queryKH) == null)
        //    {
        //        return;
        //    }

        //    DataTable dt = myQueryDA.doQuery(queryKH).Tables[0];
        //    /*
        //         dataGridDsKhachHangDiaOc.DataSource = dt;
        //         for (int i = 0; i < dataGridDsKhachHangDiaOc.Rows.Count - 1; i++)
        //         {
        //             dataGridDsKhachHangDiaOc.Rows[i].Cells[0].Value = i + 1;
        //         }
        //         dataGridDsKhachHangDiaOc.Refresh();
        //     *

        //    */
        //}
        //public void LoadDuLieuTheoMaKhachHang(string makhachhang)
        //{
        //    throw new NotImplementedException();
        //    /*          string queryKH = String.Format("select MaKH,HoTen,SoDT,Email,DiaChi from KHACHHANG where MaKH like '%{0}%'", makhachhang);
        //              DataTable dt = myQueryDA.doQuery(queryKH).Tables[0];
        //              dataGridDsKhachHangDiaOc.DataSource = dt;
        //              for (int i = 0; i < dataGridDsKhachHangDiaOc.Rows.Count - 1; i++)
        //              {
        //                  dataGridDsKhachHangDiaOc.Rows[i].Cells[0].Value = i + 1;
        //              }
        //              dataGridDsKhachHangDiaOc.Refresh();
        //     * */
        //}
        //public void LoadDuLieuTheoTenKhachHang(string tenkhachhang)
        //{
        //    throw new NotImplementedException();

        //    /*           string queryKH = String.Format("select MaKH,HoTen,SoDT,Email,DiaChi from KHACHHANG where HoTen like N'%{0}%'", tenkhachhang);
        //               DataTable dt = myQueryDA.doQuery(queryKH).Tables[0];
        //               dataGridDsKhachHangDiaOc.DataSource = dt;
        //               for (int i = 0; i < dataGridDsKhachHangDiaOc.Rows.Count - 1; i++)
        //               {
        //                   dataGridDsKhachHangDiaOc.Rows[i].Cells[0].Value = i + 1;
        //               }
        //               dataGridDsKhachHangDiaOc.Refresh();
        //     * */
        //}
        //public void LoadDuLieuTheoMa_TenKhachHang(string makhachhang, string tenkhachhang)
        //{
        //    throw new NotImplementedException();

        //    /*            string queryKH = String.Format("select MaKH,HoTen,SoDT,Email,DiaChi from KHACHHANG where MaKH like '%{0}%' and HoTen like N'%{1}%'", makhachhang, tenkhachhang);
        //                DataTable dt = myQueryDA.doQuery(queryKH).Tables[0];
        //                dataGridDsKhachHangDiaOc.DataSource = dt;
        //                for (int i = 0; i < dataGridDsKhachHangDiaOc.Rows.Count - 1; i++)
        //                {
        //                    dataGridDsKhachHangDiaOc.Rows[i].Cells[0].Value = i + 1;
        //                }
        //                dataGridDsKhachHangDiaOc.Refresh();
        //     * */
        //}

        public void loaddulieuKhachHangDiaOcKhiClickDTG(string _makh)
        {
            DataSet ds = khachhangBLL.getThongtinDiaOc(_makh);
            if (ds == null)
            {
                dataGridDsDiaOc.Enabled = false;
                //MessageBox.Show("NULL");
                return;
            }
            //dataGridDsDiaOc.Rows.Clear();
            // dataGridDsDiaOc.Refresh();
            DataTable dt = ds.Tables[0];
            dataGridDsDiaOc.DataSource = dt;
            for (int i = 0; i < dataGridDsDiaOc.Rows.Count - 1; i++)
            {
                if (dataGridDsDiaOc.Rows[i].Cells["TrangThaiDangKy"].Value.ToString().Equals("Đã Đăng Ký"))
                    dataGridDsDiaOc.Rows[i].DefaultCellStyle.ForeColor = Color.Blue;
                if (dataGridDsDiaOc.Rows[i].Cells["TrangThaiBan"].Value.ToString().Equals("Đã Bán"))
                    dataGridDsDiaOc.Rows[i].DefaultCellStyle.ForeColor = Color.Red;
                dataGridDsDiaOc.Rows[i].Cells[0].Value = i + 1;
            }
        }
        #endregion

        #region Button Event
        private void btnAddDiaOc_Click(object sender, EventArgs e)
        {
            if (txtDienTichDat.Text.Equals("") || txtDienTichXayDung.Text.Equals("") || txtDiaChi.Text.Equals("") || cbbHuong.SelectedItem == null
                || txtViTri.Text.Equals("") || txtGiaBan.Text.Equals("") || txtMoTa.Text.Equals("") || cbbLoaiDiaOc.Text.Equals(""))
            {
                ToastNotification.Show(this, "Vui lòng nhập đầy đủ thông tin", eToastPosition.MiddleCenter);
                return;
            }
            if (cbGiayChungNhanQuyenSuDungDat.Checked == false && cbGiayChungNhanSoHuuNha.Checked == false && cbGiayPhepXayDung.Checked == false
                && cbGiayPhepHoanCong.Checked == false && cbHopDongMuaBan.Checked == false)
            {
                ToastNotification.Show(this, "Bạn chưa chọn giấy tờ", eToastPosition.MiddleCenter);
                return;
            }
            if (float.Parse(txtDienTichDat.Text.Trim()) < float.Parse(txtDienTichXayDung.Text.Trim()))
            {
                ToastNotification.Show(this, "Diện tích xây dựng phải nhỏ hưn diện tích đất", eToastPosition.MiddleCenter);
                return;
            }
            if (cbGiayPhepXayDung.Checked == true)
                _testgiayphepXD = 1;
            if (cbGiayPhepHoanCong.Checked == true)
                _testgiayphepHC = 1;
            if (cbGiayChungNhanQuyenSuDungDat.Checked == true)
                _testgiayCNQSDDat = 1;
            if (cbGiayChungNhanSoHuuNha.Checked == true)
                _testgiayCNSHNha = 1;
            if (cbHopDongMuaBan.Checked == true)
                _testhopdongmuaban = 1;

            DiaOcDTO diaoc = new DiaOcDTO(
                Int32.Parse(txtMaDiaOc.Text.Trim())
                , Int32.Parse(cbbLoaiDiaOc.SelectedValue.ToString())
                , txtDiaChi.Text.Trim()
                , float.Parse(txtDienTichDat.Text.Trim())
                , float.Parse(txtDienTichXayDung.Text.Trim())
                , cbbHuong.GetItemText(cbbHuong.SelectedItem).Trim()
                , txtViTri.Text.Trim(), txtMoTa.Text.Trim()
                , 0
                , txtGiaBan.Text.Trim()
                , _testgiayphepXD
                , _testgiayphepHC
                , _testgiayCNQSDDat
                , _testgiayCNSHNha
                , _testhopdongmuaban
                , Convert.ToInt32(txtMaKhachHang.Text.Trim())
                , 0
                );

            if (diaocBLL.Add(diaoc) > 0)
            {
                ToastNotification.Show(this, "Thành Công", eToastPosition.MiddleCenter);
                _MaKH = txtMaKhachHang.Text.Trim();
                //loaddulieuKhachHangDiaOc();
                loaddulieuKhachHangDiaOcKhiClickDTG(_MaKH);
            }
            else
                ToastNotification.Show(this, "Lỗi", eToastPosition.MiddleCenter);
            txtMaDiaOc.Text = diaocBLL.MaDiaOcTN().ToString();
        }

        private void btnEditDiaOc_Click(object sender, EventArgs e)
        {
            if (txtDienTichDat.Text.Equals("") || txtDienTichXayDung.Text.Equals("") || txtDiaChi.Text.Equals("") || cbbHuong.SelectedItem == null
              || txtViTri.Text.Equals("") || txtGiaBan.Text.Equals("") || txtMoTa.Text.Equals("") || cbbLoaiDiaOc.Text.Equals(""))
            {
                ToastNotification.Show(this, "Vui lòng nhập đầy đủ thông tin", eToastPosition.MiddleCenter);
                return;
            }
            if (cbGiayPhepXayDung.Checked == true)
                _testgiayphepXD = 1;
            else
                _testgiayphepXD = 0;
            if (cbGiayPhepHoanCong.Checked == true)
                _testgiayphepHC = 1;
            else
                _testgiayphepHC = 0;
            if (cbGiayChungNhanQuyenSuDungDat.Checked == true)
                _testgiayCNQSDDat = 1;
            else
                _testgiayCNQSDDat = 0;
            if (cbGiayChungNhanSoHuuNha.Checked == true)
                _testgiayCNSHNha = 1;
            else
                _testgiayCNSHNha = 0;
            if (cbHopDongMuaBan.Checked == true)
                _testhopdongmuaban = 1;
            else
                _testhopdongmuaban = 0;
            DiaOcDTO diaoc = new DiaOcDTO(Int32.Parse(txtMaDiaOc.Text.Trim()), Int32.Parse(cbbLoaiDiaOc.SelectedValue.ToString()), txtDiaChi.Text.Trim(), float.Parse(txtDienTichDat.Text.Trim()),
                      float.Parse(txtDienTichXayDung.Text.Trim()), cbbHuong.GetItemText(cbbHuong.SelectedItem).Trim(), txtViTri.Text.Trim(), txtMoTa.Text.Trim(),
                      txtGiaBan.Text.Trim(), _testgiayphepXD, _testgiayphepHC, _testgiayCNQSDDat, _testgiayCNSHNha, _testhopdongmuaban);

            if (diaocBLL.Update(diaoc))
            {
                ToastNotification.Show(this, "Thành Công", eToastPosition.MiddleCenter);
                _MaKH = txtMaKhachHang.Text;
                loaddulieuKhachHangDiaOcKhiClickDTG(_MaKH);
            }
            else
                ToastNotification.Show(this, "Lỗi", eToastPosition.MiddleCenter);
        }

        private void btnRefreshDiaOc_Click(object sender, EventArgs e)
        {
            btnAddDiaOc.Enabled = true;
            btnEditDiaOc.Enabled = false;
            btnRefreshDiaOc.Enabled = true;
            btnDeleteDiaOc.Enabled = false;
            dataGridDsDiaOc.Enabled = true;
            loaddulieuKhachHangDiaOcKhiClickDTG(txtMaKhachHang.Text);
            dataGridDsDiaOc.Refresh();
            btnLapPhieuDangKy.Enabled = false;
            btnLapPhieuThu.Enabled = false;
            btnChiTiet.Enabled = false;
            btnChamDutHopDong.Enabled = false;
            btnPhieuGiaHan.Enabled = false;

            //cbbLoaiDiaOc.Text = "";
            cbbLoaiDiaOc.SelectedItem = cbbLoaiDiaOc.Items[0];
            cbbHuong.Text = "";
            txtDiaChi.Text = "";
            txtMoTa.Text = "";
            txtViTri.Text = "";
            txtGiaBan.Text = "";
            txtTrangThaiDangKy.Text = "";
            txtTrangThaiBan.Text = "";
            txtDienTichDat.Text = "";
            txtDienTichXayDung.Text = "";
            cbGiayChungNhanSoHuuNha.Checked = false;
            cbGiayPhepXayDung.Checked = false;
            cbGiayPhepHoanCong.Checked = false;
            cbHopDongMuaBan.Checked = false;
            cbGiayChungNhanQuyenSuDungDat.Checked = false;
            //loaddulieuKhachHangTheoNgay();
            dataGridDsDiaOc.Refresh();
        }

        private void btnDeleteDiaOc_Click(object sender, EventArgs e)
        {
            if (txtMaDiaOc.Text.Equals(""))
            {
                ToastNotification.Show(this, "Vui lòng chọn địa ốc cần xóa", eToastPosition.MiddleCenter);
            }
            else if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký"))
            {
                ToastNotification.Show(this, "Địa Ốc Đã Đăng Ký! Không Thể Xóa", eToastPosition.MiddleCenter);
                return;
            }
            else
            {
                DiaOcDTO diaoc = new DiaOcDTO(Int32.Parse(txtMaDiaOc.Text.Trim()));
                if (diaocBLL.Delete(diaoc.MaDiaOc))
                {
                    loaddulieuKhachHangDiaOcKhiClickDTG(txtMaKhachHang.Text.Trim());
                    ToastNotification.Show(this, "Xóa Địa Ốc thành công", eToastPosition.MiddleCenter);
                }
                else
                {
                    ToastNotification.Show(this, "Xóa Địa Ốc Thất Bại", eToastPosition.MiddleCenter);
                }
            }
        }

        private void btnChiTiet_Click(object sender, EventArgs e)
        {
            ChiTietKhachHangControl._madiaoc = Convert.ToInt32(txtMaDiaOc.Text.Trim());
            ChiTietKhachHangControl.makhachhang = Convert.ToInt32(txtMaKhachHang.Text);
            ChiTietKhachHangControl.hoten = cbbTenKH.Text;
            // TODO ném ra form chitiêtkhachhang
            using (Form f = new Form())
            {

                f.Controls.Add(new ChiTietKhachHangControl());
                f.SetBounds(0, 0, 1000, 660);
                f.FormBorderStyle = FormBorderStyle.FixedDialog;
                f.StartPosition = FormStartPosition.CenterScreen;
                //f.WindowState = FormWindowState.Maximized;
                f.ShowDialog();
            }

        }


        private void btnChamDutHopDong_Click(object sender, EventArgs e)
        {
            btnChamDutHopDong.Command = null;
            if (txtTrangThaiBan.Text.Equals("Đã Bán"))
            {
                ToastNotification.Show(this, "Địa Ốc Đã Được Bán", eToastPosition.MiddleCenter);
                return;
            }
            if (txtTrangThaiDangKy.Text.Equals("Chưa Đăng Ký"))
            {
                ToastNotification.Show(this, "Địa Ốc Chưa Đăng Ký", eToastPosition.MiddleCenter);
                return;
            }

            string tinhtrang = phieudangkyBLL.GetTinhTrangThanhToan(txtMaDiaOc.Text);
            if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký") && tinhtrang.Equals("False"))
            {
                ToastNotification.Show(this, "Chưa Thu Tiền Đăng Ký Địa Ốc", eToastPosition.MiddleCenter);
                return;
            }
            if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký") && tinhtrang.Equals("True"))
            {
                // DOING Chấm dứt hợp đồng
                LapPhieuThuTien._chon = 3;
                //btnChamDutHopDong.Command = _Commands.LapPhieuThuTienCommands.New;

                //LapPhieuThuTien ptt = new LapPhieuThuTien();
                //ptt.Show();

            }
        }

        private void btnLapPhieuThu_Click(object sender, EventArgs e)
        {
            //DELETE
            //btnLapPhieuThu.Command = null;

            if (txtTrangThaiBan.Text.Equals("Đã Bán"))
            {
                ToastNotification.Show(this, "Địa Ốc Đã Được Bán", eToastPosition.MiddleCenter);
                return;
            }
            if (txtTrangThaiDangKy.Text.Equals("Chưa Đăng Ký"))
            {
                ToastNotification.Show(this, "Địa Ốc Chưa Đăng Ký", eToastPosition.MiddleCenter);
                return;
            }

            string tinhtrang = phieudangkyBLL.GetTinhTrangThanhToan(txtMaDiaOc.Text);
            if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký") && tinhtrang.Equals("True"))
            {
                ToastNotification.Show(this, "Đã Lập Phiếu Thu", eToastPosition.MiddleCenter);
                return;
            }
            if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký") && tinhtrang.Equals("False"))
            {
                // TODO ném ra thông tin phiếu thu tiền 

                /*                LapPhieuThuTien._chon = 4;
                                btnLapPhieuThu.Command = _Commands.LapPhieuThuTienCommands.New;
                 */

                LapPhieuThuTien._chon = 4;               
                using (Form f = new Form())
                {

                    f.Controls.Add(new LapPhieuThuTien());
                    f.SetBounds(0, 0, 1000, 660);
                    f.FormBorderStyle = FormBorderStyle.FixedDialog;
                    f.StartPosition = FormStartPosition.CenterScreen;
                    //f.WindowState = FormWindowState.Maximized;
                    f.ShowDialog();
                }
            }
        }

        private void btnLapPhieuDangKy_Click(object sender, EventArgs e)
        {
            if (txtTrangThaiBan.Text.Equals("Đã Bán"))
            {
                ToastNotification.Show(this, "Địa Ốc Đã Được Bán", eToastPosition.MiddleCenter);
                return;
            }
            if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký"))
            {
                ToastNotification.Show(this, "Địa Ốc Đã Đăng Ký", eToastPosition.MiddleCenter);
                //DangKyBanDiaOc.kiemtratinhtrangthanhtoan = true;
                return;
            }
            
          
            DangKyBanDiaOc._makh = Int32.Parse(txtMaKhachHang.Text.Trim());
            DangKyBanDiaOc._hoten = cbbTenKH.Text.Trim();
            DangKyBanDiaOc._madiaoc = Int32.Parse(txtMaDiaOc.Text.Trim());
            using (Form f = new Form())
            {
                // TODO lập phiếu đăng ký Tự động scale
                f.Controls.Add(new DangKyBanDiaOc());
                f.SetBounds(0, 0, 1000, 660);
                f.FormBorderStyle = FormBorderStyle.FixedDialog;
                f.StartPosition = FormStartPosition.CenterScreen;
                //f.WindowState = FormWindowState.Maximized;
                f.ShowDialog();
            }
        }

        private void btnPhieuGiaHan_Click(object sender, EventArgs e)
        {
            if (txtTrangThaiBan.Text.Equals("Đã Bán"))
            {
                ToastNotification.Show(this, "Địa Ốc Đã Bán", eToastPosition.MiddleCenter);
                return;
            }
            else if (txtTrangThaiDangKy.Text.Equals("Chưa Đăng Ký"))
            {
                ToastNotification.Show(this, "Địa Ốc Chưa Đăng Ký", eToastPosition.MiddleCenter);
                return;
            }

            // TODO chuyển xuống BLL

            string tinhtrang = phieudangkyBLL.GetTinhTrangThanhToan(txtMaDiaOc.Text);

            if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký") && tinhtrang.Equals("False"))
            {
                ToastNotification.Show(this, "Chưa Thu Tiền Đăng Ký Địa Ốc Này Không Thể Gia Hạn", eToastPosition.MiddleCenter);
                return;
            }
            else if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký") && tinhtrang.Equals("True"))
            {
                //TODO lập phiếu thu tiền
                LapPhieuThuTien._chon = 2;
                //btnPhieuGiaHan.Command = _Commands.LapPhieuThuTienCommands.New;
                using (Form f = new Form())
                {
                    // TODO Tự động scale
                    f.Controls.Add(new LapPhieuThuTien());
                    f.SetBounds(0, 0, 1000, 660);
                    f.FormBorderStyle = FormBorderStyle.FixedDialog;
                    f.StartPosition = FormStartPosition.CenterScreen;
                    //f.WindowState = FormWindowState.Maximized;
                    f.ShowDialog();
                }
            }
        }

        #endregion

        #region DataGrid event
        private void dataGridDsDiaOc_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int i = e.RowIndex;
            try
            {
                if (i > -1 && i < dataGridDsDiaOc.RowCount - 1)
                {
                    txtMaKhachHang.Text = dataGridDsDiaOc.Rows[i].Cells["MaKH"].Value.ToString().Trim();
                    cbbTenKH.Text = dataGridDsDiaOc.Rows[i].Cells["HoTen"].Value.ToString().Trim();
                    txtMaDiaOc.Text = dataGridDsDiaOc.Rows[i].Cells["MaDiaoc"].Value.ToString().Trim();
                    cbbLoaiDiaOc.Text = dataGridDsDiaOc.Rows[i].Cells["TenLoaiDiaOc"].Value.ToString().Trim();
                    cbbHuong.Text = dataGridDsDiaOc.Rows[i].Cells["Huong"].Value.ToString().Trim();
                    txtDiaChi.Text = dataGridDsDiaOc.Rows[i].Cells["DiaChiDiaOc"].Value.ToString().Trim();
                    txtMoTa.Text = dataGridDsDiaOc.Rows[i].Cells["MoTa"].Value.ToString().Trim();
                    txtViTri.Text = dataGridDsDiaOc.Rows[i].Cells["ViTri"].Value.ToString().Trim();
                    txtGiaBan.Text = dataGridDsDiaOc.Rows[i].Cells["GiaBan"].Value.ToString().Trim();
                    txtTrangThaiDangKy.Text = dataGridDsDiaOc.Rows[i].Cells["TrangThaiDangKy"].Value.ToString().Trim();
                    txtTrangThaiBan.Text = dataGridDsDiaOc.Rows[i].Cells["TrangThaiBan"].Value.ToString().Trim();
                    txtDienTichDat.Text = dataGridDsDiaOc.Rows[i].Cells["DienTichDat"].Value.ToString().Trim();
                    txtDienTichXayDung.Text = dataGridDsDiaOc.Rows[i].Cells["DienTichXayDung"].Value.ToString().Trim();

                    if (dataGridDsDiaOc.Rows[i].Cells["GiayPhepXayDung"].Value.ToString().Trim().Equals("True"))
                        cbGiayPhepXayDung.Checked = true;
                    else
                        cbGiayPhepXayDung.Checked = false;
                    if (dataGridDsDiaOc.Rows[i].Cells["GiayPhepHoanCong"].Value.ToString().Trim().Equals("True"))
                        cbGiayPhepHoanCong.Checked = true;
                    else
                        cbGiayPhepHoanCong.Checked = false;
                    if (dataGridDsDiaOc.Rows[i].Cells["GiayChungNhanQuyenSuDungDat"].Value.ToString().Trim().Equals("True"))
                        cbGiayChungNhanQuyenSuDungDat.Checked = true;
                    else
                        cbGiayChungNhanQuyenSuDungDat.Checked = false;
                    if (dataGridDsDiaOc.Rows[i].Cells["GiayChungNhanSoHuuNha"].Value.ToString().Trim().Equals("True"))
                        cbGiayChungNhanSoHuuNha.Checked = true;
                    else
                        cbGiayChungNhanSoHuuNha.Checked = false;
                    if (dataGridDsDiaOc.Rows[i].Cells["HopDongMuaBan"].Value.ToString().Trim().Equals("True"))
                        cbHopDongMuaBan.Checked = true;
                    else
                        cbHopDongMuaBan.Checked = false;
                    btnLapPhieuDangKy.Enabled = true;
                    btnLapPhieuThu.Enabled = true;
                    btnPhieuGiaHan.Enabled = true;
                    btnChamDutHopDong.Enabled = true;
                    btnChiTiet.Enabled = true;
                    btnAddDiaOc.Enabled = false;
                    btnEditDiaOc.Enabled = true;
                    btnDeleteDiaOc.Enabled = true;


                    //TODO Chỉnh sau khi làm Control Phiếu đăng ký

                    //phieu dang ky
                    DangKyBanDiaOc._sodt = dataGridDsDiaOc.Rows[i].Cells["SoDT"].Value.ToString().Trim();
                    DangKyBanDiaOc._email = dataGridDsDiaOc.Rows[i].Cells["Email"].Value.ToString().Trim();
                    DangKyBanDiaOc._diachi = dataGridDsDiaOc.Rows[i].Cells["DiaChi"].Value.ToString().Trim();
                    DangKyBanDiaOc._loaidiaoc = dataGridDsDiaOc.Rows[i].Cells["TenLoaiDiaOc"].Value.ToString().Trim();
                    DangKyBanDiaOc._diachidiaoc = dataGridDsDiaOc.Rows[i].Cells["DiaChiDiaOc"].Value.ToString().Trim();
                    DangKyBanDiaOc._dientichdat = float.Parse(dataGridDsDiaOc.Rows[i].Cells["DienTichDat"].Value.ToString().Trim());
                    DangKyBanDiaOc._dientichxaydung = float.Parse(dataGridDsDiaOc.Rows[i].Cells["DienTichXayDung"].Value.ToString().Trim());
                    DangKyBanDiaOc._huong = dataGridDsDiaOc.Rows[i].Cells["Huong"].Value.ToString().Trim();
                    DangKyBanDiaOc._vitri = dataGridDsDiaOc.Rows[i].Cells["ViTri"].Value.ToString().Trim();
                    DangKyBanDiaOc._mota = dataGridDsDiaOc.Rows[i].Cells["MoTa"].Value.ToString().Trim();
                    DangKyBanDiaOc._giaban = dataGridDsDiaOc.Rows[i].Cells["GiaBan"].Value.ToString().Trim();

                    DangKyBanDiaOc._makh = Int32.Parse(txtMaKhachHang.Text.Trim());
                    DangKyBanDiaOc._hoten = cbbTenKH.Text.Trim();
                    DangKyBanDiaOc._madiaoc = Int32.Parse(txtMaDiaOc.Text.Trim());

                    if (txtTrangThaiBan.Text.Equals("Đã Bán"))
                    {
                        DangKyBanDiaOc._kiemtrahople = 1;
                    }
                    else if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký"))
                    {
                        DangKyBanDiaOc._kiemtrahople = 2;
                    }
                    else
                    {
                        DangKyBanDiaOc._kiemtrahople = 0;
                    }

                    DangKyBanDiaOc._makh = Int32.Parse(txtMaKhachHang.Text.Trim());
                    DangKyBanDiaOc._hoten = cbbTenKH.Text.Trim();
                    DangKyBanDiaOc._madiaoc = Int32.Parse(txtMaDiaOc.Text.Trim());

                    //phieu thu
                    LapPhieuThuTien._sodt = dataGridDsDiaOc.Rows[i].Cells["SoDT"].Value.ToString().Trim();
                    LapPhieuThuTien._email = dataGridDsDiaOc.Rows[i].Cells["Email"].Value.ToString().Trim();
                    LapPhieuThuTien._diachi = dataGridDsDiaOc.Rows[i].Cells["DiaChi"].Value.ToString().Trim();
                    LapPhieuThuTien._loaidiaoc = dataGridDsDiaOc.Rows[i].Cells["TenLoaiDiaOc"].Value.ToString().Trim();
                    LapPhieuThuTien._diachidiaoc = dataGridDsDiaOc.Rows[i].Cells["DiaChiDiaOc"].Value.ToString().Trim();
                    LapPhieuThuTien._dientichdat = float.Parse(dataGridDsDiaOc.Rows[i].Cells["DienTichDat"].Value.ToString().Trim());
                    LapPhieuThuTien._dientichxaydung = float.Parse(dataGridDsDiaOc.Rows[i].Cells["DienTichXayDung"].Value.ToString().Trim());
                    LapPhieuThuTien._huong = dataGridDsDiaOc.Rows[i].Cells["Huong"].Value.ToString().Trim();
                    LapPhieuThuTien._vitri = dataGridDsDiaOc.Rows[i].Cells["ViTri"].Value.ToString().Trim();
                    LapPhieuThuTien._mota = dataGridDsDiaOc.Rows[i].Cells["MoTa"].Value.ToString().Trim();
                    LapPhieuThuTien._giaban = dataGridDsDiaOc.Rows[i].Cells["GiaBan"].Value.ToString().Trim();
                    LapPhieuThuTien._makh = Int32.Parse(txtMaKhachHang.Text.Trim());
                    LapPhieuThuTien._hoten = cbbTenKH.Text.Trim();
                    LapPhieuThuTien._madiaoc = Int32.Parse(txtMaDiaOc.Text.Trim());

                    LapPhieuThuTien._chon = 4;     

                    //chi tiet
                    ChiTietKhachHangControl.sodienthoai = dataGridDsDiaOc.Rows[i].Cells["SoDT"].Value.ToString().Trim();
                    ChiTietKhachHangControl.email = dataGridDsDiaOc.Rows[i].Cells["Email"].Value.ToString().Trim();
                    ChiTietKhachHangControl.diachi = dataGridDsDiaOc.Rows[i].Cells["DiaChi"].Value.ToString().Trim();


                    if (txtTrangThaiBan.Text.Equals("Đã Bán"))
                    {
                        LapPhieuThuTien._kiemtrahople = 1;
                    }
                    else if (txtTrangThaiDangKy.Text.Equals("Chưa Đăng Ký"))
                        {
                            LapPhieuThuTien._kiemtrahople = 2;
                        }
                        else
                        {
                            string tinhtrang = phieudangkyBLL.GetTinhTrangThanhToan(txtMaDiaOc.Text);
                            if (txtTrangThaiDangKy.Text.Equals("Đã Đăng Ký") && tinhtrang.Equals("True"))
                            {
                                LapPhieuThuTien._kiemtrahople = 3;
                            }
                        }
                   
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi Rồi");
                Console.WriteLine(ex.Message);
            }


        }
        #endregion

        // TODO kiểm tra lại
        //private void dateTime_NgayDangKy_ValueChanged(object sender, EventArgs e)
        //{
        //    //dataGridDsKhachHangDiaOc.Visible = true;
        //    //dataGridDsDiaOc.Visible = false;
        //    //refreshDiaOc();
        //    ////btnRefreshDiaOc_Click(sender,e);
        //    //_ngaydangky = String.Format("{0}/{1}/{2}", dateTime_NgayDangKy.Value.Year, dateTime_NgayDangKy.Value.Month, dateTime_NgayDangKy.Value.Day);
        //    //loaddulieuKhachHangTheoNgay();
        //    //_kiemtrasukiemCellclick = 0;
        //    //btnAddDiaOc.Enabled = false;
        //    //btnEditDiaOc.Enabled = false;
        //    //btnRefreshDiaOc.Enabled = false;
        //    //btnDeleteDiaOc.Enabled = false;
        //    //dataGridDsDiaOc.Enabled = true;
        //}
        //// TODO kiểm tra lại
        //private void dateTime_NgayDangKy_MouseDoubleClick(object sender, MouseEventArgs e)
        //{
        //    //dataGridDsKhachHangDiaOc.Visible = true;
        //    //dataGridDsDiaOc.Visible = false;
        //    ////btnRefreshDiaOc_Click(sender, e);
        //    //refreshDiaOc();
        //    ////dataGridDsDiaOc.Enabled = true;
        //    //_ngaydangky = String.Format("{0}/{1}/{2}", dateTime_NgayDangKy.Value.Year, dateTime_NgayDangKy.Value.Month, dateTime_NgayDangKy.Value.Day);
        //    //loaddulieuKhachHangTheoNgay();
        //    //btnAddDiaOc.Enabled = false;
        //    //btnEditDiaOc.Enabled = false;
        //    //btnRefreshDiaOc.Enabled = false;
        //    //btnDeleteDiaOc.Enabled = false;
        //}

        private void cbbTenKH_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                //MessageBox.Show(cbbTenKH.SelectedValue.ToString());
                KhachHangBLL khBLL = new KhachHangBLL();
                DataTable dt = khBLL.GetByID((int)(cbbTenKH.SelectedValue)).Tables[0];
                DataRow dr = dt.Rows[0];
                txtMaKhachHang.Text = dr.ItemArray[0].ToString().Trim();
                txtSDT.Text = dr.ItemArray[2].ToString().Trim();
                txtEmail.Text = dr.ItemArray[3].ToString().Trim();
                txtDiaChiKH.Text = dr.ItemArray[4].ToString().Trim();
                txtCMND.Text = dr.ItemArray[5].ToString().Trim();
                loadDSDiaOc(txtMaKhachHang.Text);
            }
            catch
            { };
        }

    }
}
